Software-defined networking (“SDN”) has gained momentum among providers of network services, including data centers, cloud computing, and wide-area networks (“WANs”) service providers. SDN networks allow service providers to create and activate new services and to update existing services on-demand and in near real-time. SDN networks provide network-on-demand services that allow network infrastructure to adapt to user demand.
SDN networks implement one or more SDN controllers to control operations of an SDN network, and one such operation is traffic routing. An SDN controller can determine traffic routes and instruct network routers to route data traffic along specific paths. If an SDN network is currently routing traffic on a set of paths and the SDN controller determines that a better route is available via a different set of paths, then the SDN controller also can determine that rerouting the network traffic is preferred. Rerouting the network traffic, however, is not straight-forward and could result in transient deadlocks where the network traffic, when rerouted using a traditional approach, would become overburdened and fail due to lack of available bandwidth.